#ifndef BULLECTSCREENITEM_H
#define BULLECTSCREENITEM_H

#include <QWidget>
#include <QFrame>
#include <QLabel>
#include <QPropertyAnimation>

class BullectScreenInfo
{
public:
    QString userId; // 发送弹幕⽤⼾
    QString videoId; // 弹幕对应的视频Id
    int64_t playTime; // 发送弹幕时当前播放时间
    QString text; // 弹幕内容
    BullectScreenInfo(const QString& userId = "", int64_t playTime = 0, const QString& text = "")
    : userId(userId)
    , playTime(playTime)
    , text(text)
    {}
};

class BullectScreenItem : public QFrame
{
    Q_OBJECT
public:
    explicit BullectScreenItem(QWidget *parent = nullptr);
    // 设置弹幕中文本
    void setBullectScreenText(const QString& text);

    // 设置弹幕中头像
    void setBullectScreenIcon(QPixmap& pixmap);

    // 给弹幕项设置动画效果
    void setBullectScreenAnimation(int xPos, int duration);

    void startAnimation();
private:
    QLabel* textLabel;// 弹幕中的文本
    QLabel* imageLabel;// 弹幕中的用户头像
    QPropertyAnimation* animation; // 动画类指针
};

#endif // BULLECTSCREENITEM_H
